#ifndef __SCNS_LED_RGB_H__
#define __SCNS_LED_RGB_H__
#include "ScnsConfig.h"
#if defined(SCNS_LED_RGB_ENABLE)&&SCNS_LED_RGB_ENABLE==1
#include "ScnsBspLedRgb.h"



#include "ScnsYing.h"



typedef enum
{
    SCNS_LED_RGB_STATUS_OK=SCNS_YING_STATUS_OK,
    SCNS_LED_RGB_STATUS_BSP_FAILED=SCNS_YING_STATUS_BSP_FAILED,
    SCNS_LED_RGB_STATUS_FAILED=SCNS_YING_STATUS_FAILED,
    SCNS_LED_RGB_STATUS_TIME_OUT=SCNS_YING_STATUS_TIME_OUT,
}ScnsLedRgbStatus;



extern ScnsLedRgbStatus scnsLedRgbInit(ScnsLedRgbEnum ledN);
extern void scnsLedRgbSetR(ScnsLedRgbEnum ledN,uint16 r);
extern void scnsLedRgbSetG(ScnsLedRgbEnum ledN,uint16 g);
extern void scnsLedRgbSetB(ScnsLedRgbEnum ledN,uint16 b);

#if defined(SCNS_COLOR_ENABLE)&&SCNS_COLOR_ENABLE==1
#include "ScnsColor.h"
extern void scnsLedRgbSet(ScnsLedRgbEnum ledN,ScnsColorRgb888 c);
extern void scnsLedRgbToggleAfter(ScnsLedRgbEnum ledN,uint64 us,const ScnsColorRgb888 *p,uint8 len);
extern void scnsLedRgbRToggleAfter(ScnsLedRgbEnum ledN,uint64 us,uint16 duty);
extern void scnsLedRgbGToggleAfter(ScnsLedRgbEnum ledN,uint64 us,uint16 duty);
extern void scnsLedRgbBToggleAfter(ScnsLedRgbEnum ledN,uint64 us,uint16 duty);
#endif

#endif
#endif
